package com.lxmes.sales.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.lxmes.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.lxmes.common.core.domain.BaseEntity;

/**
 * 合同管理对象 nc_contract_management
 *
 * @author lx
 * @date 2023-06-06
 */
@Data
@ApiModel(value = "NcContractManagement", description = "合同管理对象")
public class NcContractManagement extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @ApiModelProperty("主键ID")
    private Long id;

    /** 公司代码 */
    @Excel(name = "公司代码")
    @ApiModelProperty("公司代码")
    private String factoryCode;

    /** 公司名称 */
    @Excel(name = "公司名称")
    @ApiModelProperty("公司名称")
    private String factoryName;

    /** 日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("日期")
    private Date date;

    /** 合同版本编号 */
    @Excel(name = "合同版本编号")
    @ApiModelProperty("合同版本编号")
    private Long contractVersionNumber;

    /** 甲方 */
    @Excel(name = "甲方")
    @ApiModelProperty("甲方")
    private String partyA;

    /** 甲方法定代表人 */
    @Excel(name = "甲方法定代表人")
    @ApiModelProperty("甲方法定代表人")
    private String legalRepresentativeOfPartyA;

    /** 甲方委托代理人 */
    @Excel(name = "甲方委托代理人")
    @ApiModelProperty("甲方委托代理人")
    private String authorizedAgentOfPartyA;

    /** 甲方电话 */
    @Excel(name = "甲方电话")
    @ApiModelProperty("甲方电话")
    private String partyAPhone;

    /** 乙方 */
    @Excel(name = "乙方")
    @ApiModelProperty("乙方")
    private String partyB;

    /** 乙方代码 */
    @Excel(name = "乙方代码")
    @ApiModelProperty("乙方代码")
    private String partyBCode;

    /** 乙方法定代表人 */
    @Excel(name = "乙方法定代表人")
    @ApiModelProperty("乙方法定代表人")
    private String legalRepresentativeOfPartyB;

    /** 乙方委托代理人 */
    @Excel(name = "乙方委托代理人")
    @ApiModelProperty("乙方委托代理人")
    private String authorizedAgentOfPartyB;

    /** 乙方电话 */
    @Excel(name = "乙方电话")
    @ApiModelProperty("乙方电话")
    private String partyBPhone;

    /** 合同编号 */
    @Excel(name = "合同编号")
    @ApiModelProperty("合同编号")
    private String contractNumber;

    /** 合同签订日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同签订日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("合同签订日期")
    private Date contractSigningDate;

    /** 采购日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "采购日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("采购日期")
    private Date purchaseDate;

    /** 合同交货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同交货日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("合同交货日期")
    private Date contractDeliveryDate;

    /** 合同签订人 */
    @Excel(name = "合同签订人")
    @ApiModelProperty("合同签订人")
    private String contractSignatory;

    /** 物料子号 */
    @Excel(name = "物料子号")
    @ApiModelProperty("物料子号")
    private String materialSubcode;

    /** 物料分类 */
    @Excel(name = "物料分类")
    @ApiModelProperty("物料分类")
    private String materialCategory;

    /** 物料大类 */
    @Excel(name = "物料大类")
    @ApiModelProperty("物料大类")
    private String materialClass;

    /** 物料号 */
    @Excel(name = "物料号")
    @ApiModelProperty("物料号")
    private String materialNumber;

    /** 物料名称 */
    @Excel(name = "物料名称")
    @ApiModelProperty("物料名称")
    private String materialName;

    /** 规格型号 */
    @Excel(name = "规格型号")
    @ApiModelProperty("规格型号")
    private String specification;

    /** 单位 */
    @Excel(name = "单位")
    @ApiModelProperty("单位")
    private String unit;

    /** 合同单价 */
    @Excel(name = "合同单价")
    @ApiModelProperty("合同单价")
    private BigDecimal contractUnitPrice;

    /** 合同数量 */
    @Excel(name = "合同数量")
    @ApiModelProperty("合同数量")
    private Long contractQuantity;

    /** 经办人 */
    @Excel(name = "经办人")
    @ApiModelProperty("经办人")
    private String operator;

    /** 附件 */
    @Excel(name = "附件")
    @ApiModelProperty("附件")
    private String attachment;

    /** 客户合同号 */
    @Excel(name = "客户合同号")
    @ApiModelProperty("客户合同号")
    private String customerContractNumber;


}
